package org.popupcommunication.service.impl;

import java.util.List;

import org.popupcommunication.dao.AgendaGroupeDAO;
import org.popupcommunication.dao.GroupDAO;
import org.popupcommunication.model.AgendaGroupe;
import org.popupcommunication.model.Group;
import org.popupcommunication.service.AgendaGroupeManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.Errors;

@Transactional
public class AgendaGroupeManagerBean implements AgendaGroupeManager{
	private AgendaGroupeDAO agendaGroupeRepository;
	@Autowired GroupDAO groupRepository;

	public AgendaGroupeDAO getAgendaGroupeRepository() {
		return agendaGroupeRepository;
	}

	public void setAgendaGroupeRepository(AgendaGroupeDAO agendaGroupeRepository) {
		this.agendaGroupeRepository = agendaGroupeRepository;
	}

	@Override
	public boolean registerAgendaGroupe(AgendaGroupe ag, Errors errors) {
        boolean valid = !errors.hasErrors();
        
        if (valid){
//       	System.out.println(errors.getFieldValue("groupe"));
//        	Integer id = Integer.valueOf(errors.getFieldValue("groupe").toString());
//        	Group g = groupRepository.findById(id);
//        	
        	ag.setGroupe(groupRepository.merge(ag.getGroupe()));
        	agendaGroupeRepository.add(ag);     	
        }
        return valid;		
	}

	@Override
	public List<AgendaGroupe> getEventByGroup(Group grp) {
		return agendaGroupeRepository.getEventByGroup(grp);
	}

	@Override
	public AgendaGroupe findById(int i) {
		return agendaGroupeRepository.findById(i);
	}

}
